package com.tsingteng.cosfun.ui.cosfun.contract;

import com.tsingteng.cosfun.bean.AttentRecommendbean;
import com.tsingteng.cosfun.bean.BaseDataBean;
import com.tsingteng.cosfun.bean.BlindResp;
import com.tsingteng.cosfun.bean.FollowBean;
import com.tsingteng.cosfun.bean.FoundAtBean;
import com.tsingteng.cosfun.bean.HomeBean;
import com.tsingteng.cosfun.bean.JoinCostarBean;
import com.tsingteng.cosfun.bean.OpusBean;
import com.tsingteng.cosfun.bean.RecommenResp;
import com.tsingteng.cosfun.bean.SearchResp;
import com.tsingteng.cosfun.bean.VidePersonBean;
import com.tsingteng.cosfun.callback.RxObserver;
import com.tsingteng.cosfun.mvp.view.IView;

import java.util.List;

public interface OpusContract {
    interface IOpusPresenter {

        //首页视频列表
        void getOpusList(String page_no);

        //视频关注
        void getOpusAttention(String workId, String c, String deviceId, String type);

        //关注列表
        void getOpusAttentionList(String page_no, String page_size, String deviceId, String c);

        void getOpusZan(String workId, String c, String deviceId, String type);

        void getCommZan(String workId, String c, String deviceId, String type);

        void getLoseInterest(String workId, String timestamp);


        void getCostarVideoInfo(String video_info_id);

        //关注视频列表
        void getFocusOpusList(String page_no);


        void getVideoInfoData(String videoId);
        //段子尬评视频列表
        void getXiPuVideoListList(String paragraph_id, String pageNo, String type);

        //我喜欢的视频列表
        void getILikeVideoListList(long userId, String c, String showType, String page_no, String page_size, String deviceId);

        void loginFollowFans(String follow_id);

        //视频评分
        void grade(String video_id, long timestamp, int video_time);

        //删除视频
        void del(String video_id);
        //活动视频列表
        void getActivityVideoList(int activityId,String sortType,int page_no,int page_size);
        void getBlindPhone();
        void getJoin(long video_id);
        void getFocusInfo();
        void loginNoFollow(String follow_id,int position);
        void checkAndRemmend(String video_Id,int operate);
    }


    interface IOpusView extends IView {
        void showLogonResult(HomeBean.DataBean dataBean);

        void showSendResult(int type);

        void showCostarVideoResult(JoinCostarBean joinCostarBean);

        void getFollowResult(FollowBean followBean);

        void shoWorkData(HomeBean.DataBean data);
        void showFound(FoundAtBean data);
        void showState(BlindResp resp);
        void showJoinAdd(BlindResp resp);
        void showVideoInfo(OpusBean opusBean);
        void showFocusInfo(RecommenResp attentRecommendbeans);
        void showNoFollowResult(FollowBean followBean,int position);
        void showCheckAndRemmend();
    }
}
